package com.flyme.common.core.model.query;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author: Administrator
 * @date: 2018/12/24 13:11
 * @desc: 分页返回对象
 */
@Data
public class PqGrid<T> implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 总记录
     */
    private int total;
    /**
     * 当前请求页
     */
    private long page;
    /**
     * 当前页数据条数
     */
    private long pageCount;
    /**
     * 总页数
     */
    private long pages;
    /**
     * 数据集
     */
    private List<T> rows = new ArrayList<>();
    private List<T> footer;
    
    /**
     * 转换list为PqGrid对象
     */
    public static PqGrid toPqGrid(Page<?> list) {
        PqGrid pqGrid = new PqGrid();
        pqGrid.setRows(list.getRecords());
        pqGrid.setPageCount(list.getSize());
        pqGrid.setTotal(new Long(list.getTotal()).intValue());
        pqGrid.setPages(list.getPages());
        pqGrid.setPage(list.getCurrent());
        return pqGrid;
    }
}
